package demo;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class demo1 {

    //在一个指定的目录下，找到包含一个关键词的文件
    public static void main(String[] args) throws IOException {
        //1.输入
        Scanner in = new Scanner(System.in);
            System.out.println("请输入一个文件目录：");
            String s1 = in.next();
            System.out.println("请输入要查询的关键词：");
            String s2 = in.next();
            //2.判断输入的路径是否正确
            File file = new File(s1);
            if(!file.isDirectory()) {
                System.out.println("输入的目录不正确");
                return;
            }
            //3.开始查询
            findFile(file,s2);

    }
    private static void findFile(File file, String s2) {
        //1.列出当前目录下的所有子目录
        File[] files = file.listFiles();
        //2.当前目录下为空，为递归出口
        if(files==null) {
            return;
        }
        for(File f : files) {
          if(f.isFile()) {//是普通文件
              String ss = f.getName();
              //ss.equals(s2) 这是找到文件名一样的文件
              if(ss.contains(s2)) {
                  System.out.println("找到包含'"+s2+"' 关键字的路径"+f.getAbsolutePath());//该文件包含关键字就打出出绝对路径

              }
          }else if(f.isDirectory()){//是目录，就递归下一层
              findFile(f,s2);
          }
        }
    }

}
